package com.relytosoft.mizar.media.analyze.api.pojo.vo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.relytosoft.dubhe.common.core.base.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;

/**
 * @Author: zyc
 * @version: v1.0
 * @Date: 2022/5/13 9:57
 */
@ApiModel("AyStructureTaskSonVo")
public class AyStructureTaskSonVo extends BaseEntity {

    private static final long serialVersionUID = 7126287822622216941L;


    /**
     * 主键
     */
    @ApiModelProperty(value = "主键")
    @TableField("ID")
    private Integer id;

    /**
     * 主任务ID
     */
    @ApiModelProperty(value = "主任务ID")
    private Integer structureTaskId;

    @ApiModelProperty(value = "设备ID")
    private String cameraId;

    /**
     * 任务名称
     */
    @ApiModelProperty(value = "任务名称")
    private String taskName;

    /**
     * 设备名称
     */
    @ApiModelProperty(value = "设备名称")
    private String cameraName;

    /**
     * 任务开始时间;(实时任务、离线视频任务)
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd hh:mm:ss")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "任务开始时间;(实时任务、离线视频任务)")
    private LocalDateTime beginTime;

    /**
     * 任务结束时间;(实时任务、离线视频任务)
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd hh:mm:ss")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "任务结束时间;(实时任务、离线视频任务)")
    private LocalDateTime endTime;

    /**
     * 状态描述
     */
    @ApiModelProperty(value = "状态描述")
    private String statusDesc;

    /**
     * 任务状态异常原因
     */
    @ApiModelProperty(value = "任务状态异常原因")
    private String errorReason;


    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    private String remark;

    /**
     * -1-未启动，0-创建中，1-运行中，2-已结束，3-异常
     */
    @ApiModelProperty(value = "状态;-1-未启动，0-创建中，1-运行中，2-已结束，3-异常")
    private Integer status;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Integer getStructureTaskId() {
        return structureTaskId;
    }

    public void setStructureTaskId(Integer structureTaskId) {
        this.structureTaskId = structureTaskId;
    }

    public String getTaskName() {
        return taskName;
    }

    public void setTaskName(String taskName) {
        this.taskName = taskName;
    }

    public String getCameraName() {
        return cameraName;
    }

    public void setCameraName(String cameraName) {
        this.cameraName = cameraName;
    }

    public LocalDateTime getBeginTime() {
        return beginTime;
    }

    public void setBeginTime(LocalDateTime beginTime) {
        this.beginTime = beginTime;
    }

    public LocalDateTime getEndTime() {
        return endTime;
    }

    public void setEndTime(LocalDateTime endTime) {
        this.endTime = endTime;
    }

    public String getStatusDesc() {
        return statusDesc;
    }

    public void setStatusDesc(String statusDesc) {
        this.statusDesc = statusDesc;
    }

    public String getErrorReason() {
        return errorReason;
    }

    public void setErrorReason(String errorReason) {
        this.errorReason = errorReason;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public String getCameraId() {
        return cameraId;
    }

    public void setCameraId(String cameraId) {
        this.cameraId = cameraId;
    }

    @Override
    public String toString() {
        return "AyStructureTaskSonVo{" +
                "id=" + id +
                ", structureTaskId=" + structureTaskId +
                ", cameraId='" + cameraId + '\'' +
                ", taskName='" + taskName + '\'' +
                ", cameraName='" + cameraName + '\'' +
                ", beginTime=" + beginTime +
                ", endTime=" + endTime +
                ", statusDesc='" + statusDesc + '\'' +
                ", errorReason='" + errorReason + '\'' +
                ", remark='" + remark + '\'' +
                ", status=" + status +
                ", createdId=" + createdId +
                ", createdBy='" + createdBy + '\'' +
                ", createdTime=" + createdTime +
                ", updatedId=" + updatedId +
                ", updatedBy='" + updatedBy + '\'' +
                ", updatedTime=" + updatedTime +
                '}';
    }
}
